function r(r, e) {
  return (
    r.charCodeAt(e++) +
    (r.charCodeAt(e++) << 8) +
    (r.charCodeAt(e++) << 16) +
    (r.charCodeAt(e) << 24)
  );
}
function e(r, e) {
  return r.charCodeAt(e++) + (r.charCodeAt(e++) << 8);
}
function t(r, e) {
  return (
    ((65535 & (r |= 0)) * (e |= 0) + ((((r >>> 16) * e) & 65535) << 16)) | 0
  );
}
module.exports = {
  hash32: function (c, a) {
    for (var o = 1540483477, n = a ^ c.length, h = c.length, u = 0; h >= 4; ) {
      var d = r(c, u);
      (d = t(d, o)),
        (d = t((d ^= d >>> 24), o)),
        (n = t(n, o)),
        (n ^= d),
        (u += 4),
        (h -= 4);
    }
    switch (h) {
      case 3:
        (n ^= e(c, u)), (n = t((n ^= c.charCodeAt(u + 2) << 16), o));
        break;
      case 2:
        n = t((n ^= e(c, u)), o);
        break;
      case 1:
        n = t((n ^= c.charCodeAt(u)), o);
    }
    return (n = t((n ^= n >>> 13), o)), (n ^= n >>> 15) >>> 0;
  },
};
